﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using UAXInversionesWeb.logicaNegocio;

namespace UAXInversionesWeb.supervisor
{
    public partial class modificarDatosCS : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            bool result = cargarDatosCliente(Int32.Parse(IdCliente.Text));

            if (result)
            {
                modificarClienteDesdeSupervisor.Visible = true;
                IdCliente.Enabled = false;
                Button1.Enabled = false;
            }
            else
            {
                Response.Write("<script>alert('IdCliente incorrecto')</script>");
            }
        }

        protected void cancelar_Click(object sender, EventArgs e)
        {
            modificarClienteDesdeSupervisor.Visible = false;
            IdCliente.Enabled = true;
            Button1.Enabled = true;
        }

        protected void reset_Click(object sender, EventArgs e)
        {
            cargarDatosCliente(Int32.Parse(IdCliente.Text));
        }

        protected bool cargarDatosCliente(int idcliente)
        {
            bool resultado = false;

            Cliente c = Proxy.consultarDatosCliente(Int32.Parse(IdCliente.Text));
            
            if (c.getNombre() != "error")
            {
                idCS.Text = c.getIdCliente().ToString();
                nom.Text = c.getNombre();
                apel.Text = c.getApellidos();
                dn.Text = c.getDNI();
                fecha.Text = c.getFechaNacimiento().ToShortDateString();
                saldo.Text = c.getSaldo().ToString();
                s.Text = c.getSexo().ToString();
                avdS.Text = c.getDireccion().getTipoCalle();
                dir.Text = c.getDireccion().getNombreCalle();
                n.Text = c.getDireccion().getNumeroCalle().ToString();
                pi.Text = c.getDireccion().getPiso().ToString();
                let.Text = c.getDireccion().getLetra().ToString();
                esc.Text = c.getDireccion().getEscalera();
                local.Text = c.getDireccion().getLocalidad();
                prov.Text = c.getDireccion().getProvincia();
                cpS.Text = c.getDireccion().getCP().ToString();
                paiss.Text = c.getDireccion().getPais();
                fijoT.Text = c.getTelefonoFijo().ToString();
                movilT.Text = c.getTelefonoMovil().ToString();
                faxS.Text = c.getFax().ToString();
                emai.Text = c.getCorreoElectronico();
                banco.Text = c.getDatosBancarios().getNombreBanco();
                dirB.Text = c.getDatosBancarios().getDireccionOficina();
                cuenta.Text = c.getDatosBancarios().getNumeroDeCuenta().ToString();
                resultado = true;
            }
            return resultado;
        }

        protected void acepta_Click(object sender, EventArgs e)
        {
            Cliente m = new Cliente();
            m.setIdCliente(Int32.Parse(IdCliente.Text));
            m.setDNI(dn.Text);
            m.setNombre(nom.Text);
            m.setApellidos(apel.Text);
            m.setFechaNacimiento(DateTime.Parse(fecha.Text));
            m.setSexo(s.Text.ToCharArray()[0]);
            m.setTelefonoFijo(Int64.Parse(fijoT.Text));
            m.setTelefonoMovil(Int64.Parse(movilT.Text));
            m.setFax(Int64.Parse(faxS.Text));
            m.setCorreoElectronico(emai.Text);
            Direccion d = new Direccion();
            d.setTipoCalle(avdS.Text);
            d.setNombreCalle(dir.Text);
            d.setNumeroCalle(Int32.Parse(n.Text));
            d.setPiso(Int32.Parse(pi.Text));
            d.setLetra(let.Text.ToCharArray()[0]);
            d.setEscalera(esc.Text);
            d.setLocalidad(local.Text);
            d.setProvincia(prov.Text);
            d.setCP(Int32.Parse(cpS.Text));
            d.setPais(paiss.Text);
            DatosBancarios db = new DatosBancarios();
            db.setNombreBanco(banco.Text);
            db.setNumeroDeCuenta(Decimal.Parse(cuenta.Text));
            db.setDireccionOficina(dirB.Text);
            m.setSaldo(Int32.Parse(saldo.Text));
            m.setDireccion(d);
            m.setDatosBancarios(db);
            bool x = Proxy.modificarCliente(m);

            if (x)
            {
                Response.Write("<script>alert('Datos modificados para el cliente ')</script>");
            }
        }
    }
}